Skip to content

Conversation

@alexcrichton
Copy link
Member

This PR is a "subset" of #12250 where it only changes how WITs are vendored without actually changing the versions of any of the WITs. Due to using wkg instead of curl + tar the WITs themselves are textually changing in this PR, but their meaning isn't changing. Instead what's happening is they're all getting merged into one large *.wit-per-package.

The goal here is to split out this step from #12250 to first change how WITs are managed and then subsequently update the WITs (also related to #12247). By updating how WITs are managed we also unblock the ability to update in Wasmtime since per-proposal repos have been sunset for WASI meaning that structural changes to the update script are required no matter what to update beyond our current version.

@alexcrichton
Copy link
Member Author

I'll note that this additionally updates to wit-bindgen 0.51 (currently being released) which is required to read the new WITs, related to fixing some WIT bugs in wasm-tools.

alexcrichton added a commit to alexcrichton/wasmtime that referenced this pull request Jan 12, 2026
Keeping up-to-date and looking to unblock bytecodealliance#12327
@ricochet
Copy link
Contributor

Hey thanks for this! I got busy and haven't had a chance to factor things out. LGTM!

github-merge-queue bot pushed a commit that referenced this pull request Jan 13, 2026
Keeping up-to-date and looking to unblock #12327
ricochet and others added 3 commits January 12, 2026 17:21
Update wasmtime's WASI implementation from version
0.3.0-rc-2025-09-16 to 0.3.0-rc-2026-01-06, using wkg for WIT vendoring.

This involves API changes in clocks and HTTP.
Also refactor the script a bit to avoid too bash-isms and hopefully make
it a bit more straightforward what's happening.
@alexcrichton alexcrichton marked this pull request as ready for review January 13, 2026 01:22
@alexcrichton alexcrichton requested review from a team as code owners January 13, 2026 01:22
@alexcrichton alexcrichton requested review from pchickey and removed request for a team January 13, 2026 01:22
@alexcrichton alexcrichton added this pull request to the merge queue Jan 13, 2026
Merged via the queue into bytecodealliance:main with commit 89adcf3 Jan 13, 2026
45 checks passed
@alexcrichton alexcrichton deleted the update-wit-vendoring branch January 13, 2026 15:26
alexcrichton added a commit to alexcrichton/wasmtime that referenced this pull request Jan 14, 2026
* feat(p3)!: vendor 0.3.0-rc-2026-01-06

Update wasmtime's WASI implementation from version
0.3.0-rc-2025-09-16 to 0.3.0-rc-2026-01-06, using wkg for WIT vendoring.

This involves API changes in clocks and HTTP.

* ci: install wkg in monolith_checks

* Revert back to original WIT versions

Also refactor the script a bit to avoid too bash-isms and hopefully make
it a bit more straightforward what's happening.

---------

Co-authored-by: Bailey Hayes <[email protected]>
alexcrichton added a commit to alexcrichton/wasmtime that referenced this pull request Jan 14, 2026
Keeping up-to-date and looking to unblock bytecodealliance#12327
alexcrichton added a commit to alexcrichton/rust-wasi that referenced this pull request Jan 14, 2026
This commit updates how WITs are vendored here to use `wkg` the same way
that bytecodealliance/wasmtime#12327 does. This then updated to use the
latest `wit-bindgen` to be able to process the WITs which had a few
extra artifacts in them that made it necessary.

Generated bindings are changing here, but it's just things moving
around.
alexcrichton added a commit to alexcrichton/rust-wasi that referenced this pull request Jan 14, 2026
This commit updates how WITs are vendored here to use `wkg` the same way
that bytecodealliance/wasmtime#12327 does. This then updated to use the
latest `wit-bindgen` to be able to process the WITs which had a few
extra artifacts in them that made it necessary.

Generated bindings are changing here, but it's just things moving
around.
alexcrichton added a commit that referenced this pull request Jan 14, 2026
* Switch to using `wkg` for most WIT vendoring (#12327)

* feat(p3)!: vendor 0.3.0-rc-2026-01-06

Update wasmtime's WASI implementation from version
0.3.0-rc-2025-09-16 to 0.3.0-rc-2026-01-06, using wkg for WIT vendoring.

This involves API changes in clocks and HTTP.

* ci: install wkg in monolith_checks

* Revert back to original WIT versions

Also refactor the script a bit to avoid too bash-isms and hopefully make
it a bit more straightforward what's happening.

---------

Co-authored-by: Bailey Hayes <[email protected]>

* feat(p3)!: vendor 0.3.0-rc-2026-01-06 (#12250)

* feat(p3)!: vendor 0.3.0-rc-2026-01-06

Update wasmtime's WASI implementation from version
0.3.0-rc-2025-09-16 to 0.3.0-rc-2026-01-06, using wkg for WIT vendoring.

This involves API changes in clocks and HTTP.

* Handle some review comments

* Update WASI implementations to avoid `as`

This can have a loss in precision so this shuffles around some types to
ensure that `try_into` and friends are always used instead of `as`. This
changes the source-of-truth for timestamps to be `i64` seconds so WASIp2
is the odd-one-out that can't represent negative timestamps.

* Flag expected WASI failures

* Get wasi:http tests working again

* Rename `proxy` module to `service` to reflect the WIT world.
* Adjust the middleware test to using the `middleware` world.

---------

Co-authored-by: Alex Crichton <[email protected]>

* Update wit-bindgen (#12329)

Keeping up-to-date and looking to unblock #12327

---------

Co-authored-by: Bailey Hayes <[email protected]>
Co-authored-by: Bailey Hayes <[email protected]>
alexcrichton added a commit to bytecodealliance/wasi-rs that referenced this pull request Jan 14, 2026
* Update WIT vendoring source and wit-bindgen

This commit updates how WITs are vendored here to use `wkg` the same way
that bytecodealliance/wasmtime#12327 does. This then updated to use the
latest `wit-bindgen` to be able to process the WITs which had a few
extra artifacts in them that made it necessary.

Generated bindings are changing here, but it's just things moving
around.

* Update wit-bindgen

* Update other CI tools

* Update MSRV to 1.87.0

* Update/pin more tools
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants